home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / Pakiet bezpieczenstwa / mini Pentoo LiveCD 2006.1 / mpentoo-2006.1.iso / livecd.squashfs / etc / profile.d / tcsh-complete < prev    next >
Text File  |  2005-10-28  |  45KB  |  974 lines

  1. ## Gentoo system tcsh example script
  2. ##
  3. ## Based on the TCSH complete.tcsh script, with changed from the TCSHRC
  4. ## package (http://tcshrc.sourceforge.net)
  5. ##
  6. ## Please do not change this file!  Place your personal customizations in
  7. ## ~/.tcshrc and system-wide customizations in /etc/profiles.d/local.csh
  8. ##
  9. ## 2005-09-27  --  Fabian Groffen (grobian@gentoo.org)
  10. ##     fixed some bugs reported by users and cleaned it a bit
  11. ## 2003-01-13  --  Alain Penders (alain@gentoo.org)
  12. ##     Renamed to /etc/profile.d/tcsh-complete
  13. ##
  14.  
  15. if (! $?prompt) goto end
  16.  
  17. if ($?tcsh) then
  18.     set _rev=${tcsh:r}
  19.     set _rev=${_rev:r}
  20.     if ($_rev < 6) goto end
  21.     unset _rev
  22. endif
  23.  
  24.     set noglob
  25.     if ( ! $?hosts ) set hosts
  26.     foreach f ($HOME/.hosts $HOME/.tcshrc.hosts /etc/profile.d/complete.hosts $HOME/.rhosts /etc/hosts.equiv)
  27.         if ( -r $f ) then
  28.         set hosts = ($hosts `grep -v "+" $f | grep -E -v "^#" | tr -s " " "    " | cut -f 1`)
  29.     endif
  30.     end
  31.     if ( -r $HOME/.netrc ) then
  32.     set f=`awk '/machine/ { print $2 }' < $HOME/.netrc` >& /dev/null
  33.     set hosts=($hosts $f)
  34.     endif
  35.     if ( -r $HOME/.ssh/known_hosts ) then
  36.     set f=`cat $HOME/.ssh/known_hosts | cut -f 1 -d \ ` >& /dev/null
  37.     set hosts=($hosts $f)
  38.     endif
  39.     unset f
  40.     if ( ! $?hosts ) then
  41.         # add your host names here...
  42.         set hosts=()
  43.     endif
  44.  
  45.     complete ywho      n/*/\$hosts/    # argument from list in $hosts
  46.     complete rsh    p/1/\$hosts/ c/-/"(l n)"/   n/-l/u/ N/-l/c/ n/-/c/ p/2/c/ p/*/f/
  47.     complete ssh    p/1/\$hosts/ c/-/"(l n)"/   n/-l/u/ N/-l/c/ n/-/c/ p/2/c/ p/*/f/
  48.     complete xrsh    p/1/\$hosts/ c/-/"(l 8 e)"/ n/-l/u/ N/-l/c/ n/-/c/ p/2/c/ p/*/f/
  49.     complete rlogin     p/1/\$hosts/ c/-/"(l 8 e)"/ n/-l/u/
  50.     complete telnet     p/1/\$hosts/ p/2/x:'<port>'/ n/*/n/
  51.  
  52.     complete cd      p/1/d/        # Directories only
  53.     complete chdir     p/1/d/
  54.     complete pushd     p/1/d/
  55.     complete popd     p/1/d/
  56.     complete pu     p/1/d/
  57.     complete po     p/1/d/
  58.     complete complete     p/1/X/        # Completions only
  59.     complete uncomplete    n/*/X/
  60.     complete exec     p/1/c/        # Commands only
  61.     complete trace     p/1/c/
  62.     complete strace     p/1/c/
  63.     complete which    n/*/c/
  64.     complete where    n/*/c/
  65.     complete skill     p/1/c/
  66.     complete dde    p/1/c/ 
  67.     complete adb    c/-I/d/ n/-/c/ N/-/"(core)"/ p/1/c/ p/2/"(core)"/
  68.     complete sdb    p/1/c/
  69.     complete dbx    c/-I/d/ n/-/c/ N/-/"(core)"/ p/1/c/ p/2/"(core)"/
  70.     complete xdb    p/1/c/
  71.     complete gdb    n/-d/d/ n/*/c/
  72.     complete ups    p/1/c/
  73.     complete set    'c/*=/f/' 'p/1/s/=' 'n/=/f/'
  74.     complete unset    n/*/s/
  75.     complete alias     p/1/a/        # only aliases are valid
  76.     complete unalias    n/*/a/
  77.     complete xdvi     n/*/f:*.dvi/    # Only files that match *.dvi
  78.     complete dvips     n/*/f:*.dvi/
  79.     complete tex     n/*/f:*.tex/    # Only files that match *.tex
  80.     complete latex     n/*/f:*.{tex,ltx}/
  81.     complete su        c/--/"(login fast preserve-environment command shell \
  82.             help version)"/    c/-/"(f l m p c s -)"/ \
  83.             n/{-c,--command}/c/ \
  84.             n@{-s,--shell}@'`cat /etc/shells`'@ n/*/u/
  85.     complete cc     c/-[IL]/d/ \
  86.               c@-l@'`\ls -1 /usr/lib/lib*.a | sed s%^.\*/lib%%\;s%\\.a\$%%`'@ \
  87.             c/-/"(o l c g L I D U)"/ n/*/f:*.[coasi]/
  88.     complete acc     c/-[IL]/d/ \
  89.        c@-l@'`\ls -1 /usr/lang/SC1.0/lib*.a | sed s%^.\*/lib%%\;s%\\.a\$%%`'@ \
  90.             c/-/"(o l c g L I D U)"/ n/*/f:*.[coasi]/
  91.     complete gcc     c/-[IL]/d/ \
  92.              c/-f/"(caller-saves cse-follow-jumps delayed-branch \
  93.                        elide-constructors expensive-optimizations \
  94.                    float-store force-addr force-mem inline \
  95.                    inline-functions keep-inline-functions \
  96.                    memoize-lookups no-default-inline \
  97.                    no-defer-pop no-function-cse omit-frame-pointer \
  98.                    rerun-cse-after-loop schedule-insns \
  99.                    schedule-insns2 strength-reduce \
  100.                    thread-jumps unroll-all-loops \
  101.                    unroll-loops syntax-only all-virtual \
  102.                    cond-mismatch dollars-in-identifiers \
  103.                    enum-int-equiv no-asm no-builtin \
  104.                    no-strict-prototype signed-bitfields \
  105.                    signed-char this-is-variable unsigned-bitfields \
  106.                    unsigned-char writable-strings call-saved-reg \
  107.                    call-used-reg fixed-reg no-common \
  108.                    no-gnu-binutils nonnull-objects \
  109.                    pcc-struct-return pic PIC shared-data \
  110.                    short-enums short-double volatile)"/ \
  111.              c/-W/"(all aggregate-return cast-align cast-qual \
  112.                          comment conversion enum-clash error format \
  113.                          id-clash-len implicit missing-prototypes \
  114.                          no-parentheses pointer-arith return-type shadow \
  115.                          strict-prototypes switch uninitialized unused \
  116.                          write-strings)"/ \
  117.              c/-m/"(68000 68020 68881 bitfield fpa nobitfield rtd \
  118.                    short c68000 c68020 soft-float g gnu unix fpu \
  119.                    no-epilogue)"/ \
  120.              c/-d/"(D M N)"/ \
  121.              c/-/"(f W vspec v vpath ansi traditional \
  122.                   traditional-cpp trigraphs pedantic x o l c g L \
  123.                   I D U O O2 C E H B b V M MD MM i dynamic \
  124.                   nodtdlib static nostdinc undef)"/ \
  125.              c/-l/f:*.a/ \
  126.              n/*/f:*.{c,C,cc,o,a,s,i}/
  127.     complete g++     n/*/f:*.{C,cc,o,s,i}/
  128.     complete CC     n/*/f:*.{C,cc,cpp,o,s,i}/
  129.     complete rm     c/--/"(directory force interactive verbose \
  130.             recursive help version)"/ c/-/"(d f i v r R -)"/ \
  131.             n/*/f:^*.{c,cc,C,h,in}/    # Protect precious files
  132.     complete vi     n/*/f:^*.[oa]/
  133.     complete bindkey    N/-a/b/ N/-c/c/ n/-[ascr]/'x:<key-sequence>'/ \
  134.             n/-[svedlr]/n/ c/-[vedl]/n/ c/-/"(a s k c v e d l r)"/\
  135.             n/-k/"(left right up down)"/ p/2-/b/ \
  136.             p/1/'x:<key-sequence or option>'/
  137.  
  138.     complete find     n/-fstype/"(nfs 4.2)"/ n/-name/f/ \
  139.               n/-type/"(c b d f p l s)"/ n/-user/u/ n/-group/g/ \
  140.             n/-exec/c/ n/-ok/c/ n/-cpio/f/ n/-ncpio/f/ n/-newer/f/ \
  141.               c/-/"(fstype name perm prune type user nouser \
  142.                    group nogroup size inum atime mtime ctime exec \
  143.                  ok print ls cpio ncpio newer xdev depth \
  144.                  daystart follow maxdepth mindepth noleaf version \
  145.                  anewer cnewer amin cmin mmin true false uid gid \
  146.                  ilname iname ipath iregex links lname empty path \
  147.                  regex used xtype fprint fprint0 fprintf \
  148.                  print0 printf not a and o or)"/ \
  149.                  n/*/d/
  150.  
  151.     complete -%*    c/%/j/            # fill in the jobs builtin
  152.     complete {fg,bg,stop}    c/%/j/ p/1/"(%)"//
  153.  
  154.     complete limit    c/-/"(h)"/ n/*/l/
  155.     complete unlimit    c/-/"(h)"/ n/*/l/
  156.  
  157.     complete -co*    p/0/"(compress)"/    # make compress completion
  158.                         # not ambiguous
  159. ## Added .gz extention.
  160.     complete zcat    n/*/f:*.{Z,gz}/
  161.  
  162.     complete finger    c/*@/\$hosts/ n/*/u/@ 
  163.     complete ping    p/1/\$hosts/
  164.     complete traceroute    p/1/\$hosts/
  165.  
  166.     complete {talk,ntalk,phone}    p/1/'`users | tr " " "\012" | uniq`'/ \
  167.         n/*/\`who\ \|\ grep\ \$:1\ \|\ awk\ \'\{\ print\ \$2\ \}\'\`/
  168.  
  169.     complete ftp    c/-/"(d i g n v)"/ n/-/\$hosts/ p/1/\$hosts/ n/*/n/
  170.  
  171.     # this one is simple...
  172.     #complete rcp c/*:/f/ C@[./\$~]*@f@ n/*/\$hosts/:
  173.     # From Michael Schroeder <mlschroe@immd4.informatik.uni-erlangen.de> 
  174.     # This one will rsh to the file to fetch the list of files!
  175.     complete rcp 'c%*@*:%`set q=$:-0;set q="$q:s/@/ /";set q="$q:s/:/ /";set q=($q " ");rsh $q[2] -l $q[1] ls -dp $q[3]\*`%' 'c%*:%`set q=$:-0;set q="$q:s/:/ /";set q=($q " ");rsh $q[1] ls -dp $q[2]\*`%' 'c%*@%$hosts%:' 'C@[./$~]*@f@'  'n/*/$hosts/:'
  176.  
  177.     complete dd c/--/"(help version)"/ c/[io]f=/f/ \
  178.         c/conv=*,/"(ascii ebcdic ibm block unblock \
  179.                 lcase notrunc ucase swab noerror sync)"/,\
  180.         c/conv=/"(ascii ebcdic ibm block unblock \
  181.               lcase notrunc ucase swab noerror sync)"/,\
  182.             c/*=/x:'<number>'/ \
  183.         n/*/"(if of conv ibs obs bs cbs files skip file seek count)"/=
  184.  
  185.     complete nslookup   p/1/x:'<host>'/ p/2/\$hosts/
  186.  
  187.     complete ar c/[dmpqrtx]/"(c l o u v a b i)"/ p/1/"(d m p q r t x)"// \
  188.         p/2/f:*.a/ p/*/f:*.o/
  189.  
  190.     # these should be merged with the MH completion hacks below - jgotts
  191.     complete {sprev,snext} \
  192.         c@+@F:$HOME/Mail/@
  193.  
  194.     # these and interrupt handling from Jaap Vermeulen <jaap@sequent.com>
  195.     complete {rexec,rxexec,rxterm,rmterm} \
  196.             'p/1/$hosts/' 'c/-/(l L E)/' 'n/-l/u/' 'n/-L/f/' \
  197.             'n/-E/e/' 'n/*/c/'
  198.     complete kill    'c/-/S/' 'c/%/j/' \
  199.             'n/*/`ps -u $LOGNAME | awk '"'"'{print $1}'"'"'`/'
  200.  
  201.     # these from Marc Horowitz <marc@cam.ov.com>
  202.     complete attach 'n/-mountpoint/d/' 'n/-m/d/' 'n/-type/(afs nfs rvd ufs)/' \
  203.             'n/-t/(afs nfs rvd ufs)/' 'n/-user/u/' 'n/-U/u/' \
  204.             'c/-/(verbose quiet force printpath lookup debug map \
  205.               nomap remap zephyr nozephyr readonly write \
  206.               mountpoint noexplicit explicit type mountoptions \
  207.               nosetuid setuid override skipfsck lock user host)/' \
  208.             'n/-e/f/' 'n/*/()/'
  209.     complete hesinfo    'p/1/u/' \
  210.             'p/2/(passwd group uid grplist pcap pobox cluster \
  211.                   filsys sloc service)/'
  212.  
  213.     # these from E. Jay Berkenbilt <ejb@ERA.COM>
  214.     # = isn't always followed by a filename or a path anymore - jgotts
  215.     complete ./configure 'c/--*=/f/' 'c/--{cache-file,prefix,exec-prefix,\
  216.                     bindir,sbindir,libexecdir,datadir,\
  217.                 sysconfdir,sharedstatedir,localstatedir,\
  218.                 libdir,includedir,oldincludedir,infodir,\
  219.                 mandir,srcdir}/(=)//' \
  220.              'c/--/(cache-file verbose prefix exec-prefix bindir \
  221.                  sbindir libexecdir datadir sysconfdir \
  222.                 sharedstatedir localstatedir libdir \
  223.                 includedir oldincludedir infodir mandir \
  224.                 srcdir)//'
  225.     complete gs 'c/-sDEVICE=/(x11 cdjmono cdj550 epson eps9high epsonc \
  226.                   dfaxhigh dfaxlow laserjet ljet4 sparc pbm \
  227.                   pbmraw pgm pgmraw ppm ppmraw bit)/' \
  228.         'c/-sOutputFile=/f/' 'c/-s/(DEVICE OutputFile)/=' \
  229.         'c/-d/(NODISPLAY NOPLATFONTS NOPAUSE)/' 'n/*/f/'
  230.     complete perl    'n/-S/c/'
  231.     complete printenv    'n/*/e/'
  232.     complete sccs    p/1/"(admin cdc check clean comb deledit delget \
  233.             delta diffs edit enter fix get help info \
  234.             print prs prt rmdel sccsdiff tell unedit \
  235.             unget val what)"/
  236.     complete setenv    'p/1/e/' 'c/*:/f/'
  237.  
  238.     # these and method of setting hosts from Kimmo Suominen <kim@tac.nyc.ny.us>
  239.     if ( -f $HOME/.mh_profile && -x "`which folders`" ) then 
  240.  
  241.     if ( ! $?FOLDERS ) setenv FOLDERS "`folders -fast -recurse`"
  242.     if ( ! $?MHA )     setenv MHA     "`ali | sed -e '/^ /d' -e 's/:.*//'`"
  243.  
  244.     set folders = ( $FOLDERS )
  245.     set mha = ( $MHA )
  246.  
  247.     complete ali \
  248.         'c/-/(alias nolist list nonormalize normalize nouser user help)/' \
  249.         'n,-alias,f,'
  250.  
  251.     complete anno \
  252.         'c/-/(component noinplace inplace nodate date text help)/' \
  253.         'c,+,$folders,'  \
  254.         'n,*,`(mark | sed "s/:.*//";echo next cur prev first last)|tr " " "\12" | sort -u`,'
  255.  
  256.     complete burst \
  257.         'c/-/(noinplace inplace noquiet quiet noverbose verbose help)/' \
  258.         'c,+,$folders,'  \
  259.         'n,*,`(mark | sed "s/:.*//";echo next cur prev first last)|tr " " "\12" | sort -u`,'
  260.  
  261.     complete comp \
  262.         'c/-/(draftfolder draftmessage nodraftfolder editor noedit file form nouse use whatnowproc nowhatnowproc help)/' \
  263.         'c,+,$folders,'  \
  264.         'n,-whatnowproc,c,'  \
  265.         'n,-file,f,'\
  266.         'n,-form,f,'\
  267.         'n,*,`(mark | sed "s/:.*//";echo next cur prev first last)|tr " " "\12" | sort -u`,'
  268.  
  269.     complete dist \
  270.         'c/-/(noannotate annotate draftfolder draftmessage nodraftfolder editor noedit form noinplace inplace whatnowproc nowhatnowproc help)/' \
  271.         'c,+,$folders,'  \
  272.         'n,-whatnowproc,c,'  \
  273.         'n,-form,f,'\
  274.         'n,*,`(mark | sed "s/:.*//";echo next cur prev first last)|tr " " "\12" | sort -u`,'
  275.  
  276.     complete folder \
  277.         'c/-/(all nofast fast noheader header nopack pack noverbose verbose norecurse recurse nototal total noprint print nolist list push pop help)/' \
  278.         'c,+,$folders,'  \
  279.         'n,*,`(mark | sed "s/:.*//";echo next cur prev first last)|tr " " "\12" | sort -u`,'
  280.  
  281.     complete folders \
  282.         'c/-/(all nofast fast noheader header nopack pack noverbose verbose norecurse recurse nototal total noprint print nolist list push pop help)/' \
  283.         'c,+,$folders,'  \
  284.         'n,*,`(mark | sed "s/:.*//";echo next cur prev first last)|tr " " "\12" | sort -u`,'
  285.  
  286.     complete forw \
  287.         'c/-/(noannotate annotate draftfolder draftmessage nodraftfolder editor noedit filter form noformat format noinplace inplace digest issue volume whatnowproc nowhatnowproc help)/' \
  288.         'c,+,$folders,'  \
  289.         'n,-whatnowproc,c,'  \
  290.         'n,-filter,f,'\
  291.         'n,-form,f,'\
  292.         'n,*,`(mark | sed "s/:.*//";echo next cur prev first last)|tr " " "\12" | sort -u`,'
  293.  
  294.     complete inc \
  295.         'c/-/(audit file noaudit nochangecur changecur file form format nosilent silent notruncate truncate width help)/' \
  296.         'c,+,$folders,'  \
  297.         'n,-audit,f,'\
  298.         'n,-form,f,'
  299.  
  300.     complete mark \
  301.         'c/-/(add delete list sequence nopublic public nozero zero help)/' \
  302.         'c,+,$folders,'  \
  303.         'n,*,`(mark | sed "s/:.*//";echo next cur prev first last)|tr " " "\12" | sort -u`,'
  304.  
  305.     complete mhmail \
  306.         'c/-/(body cc from subject help)/' \
  307.         'n,-cc,$mha,'  \
  308.         'n,-from,$mha,'  \
  309.         'n/*/$mha/'
  310.  
  311.     complete mhpath \
  312.         'c/-/(help)/' \
  313.         'c,+,$folders,'  \
  314.         'n,*,`(mark | sed "s/:.*//";echo next cur prev first last)|tr " " "\12" | sort -u`,'
  315.  
  316.     complete msgchk \
  317.         'c/-/(nodate date nonotify notify help)/' 
  318.  
  319.     complete msh \
  320.         'c/-/(prompt noscan scan notopcur topcur help)/' 
  321.  
  322.     complete next \
  323.         'c/-/(draft form moreproc nomoreproc length width showproc noshowproc header noheader help)/' \
  324.         'c,+,$folders,'  \
  325.         'n,-moreproc,c,'  \
  326.         'n,-showproc,c,'  \
  327.         'n,-form,f,'
  328.  
  329.     complete packf \
  330.         'c/-/(file help)/' \
  331.         'c,+,$folders,'  \
  332.         'n,*,`(mark | sed "s/:.*//";echo next cur prev first last)|tr " " "\12" | sort -u`,'
  333.  
  334.     complete pick \
  335.         'c/-/(and or not lbrace rbrace cc date from search subject to othercomponent after before datefield sequence nopublic public nozero zero nolist list help)/' \
  336.         'c,+,$folders,'  \
  337.         'n,*,`(mark | sed "s/:.*//";echo next cur prev first last)|tr " " "\12" | sort -u`,'
  338.  
  339.     complete prev \
  340.         'c/-/(draft form moreproc nomoreproc length width showproc noshowproc header noheader help)/' \
  341.         'c,+,$folders,'  \
  342.         'n,-moreproc,c,'  \
  343.         'n,-showproc,c,'  \
  344.         'n,-form,f,'
  345.  
  346.     complete prompter \
  347.         'c/-/(erase kill noprepend prepend norapid rapid nodoteof doteof help)/' 
  348.  
  349.     complete refile \
  350.         'c/-/(draft nolink link nopreserve preserve src file help)/' \
  351.         'c,+,$folders,'  \
  352.         'n,-file,f,'\
  353.         'n,*,`(mark | sed "s/:.*//";echo next cur prev first last)|tr " " "\12" | sort -u`,'
  354.  
  355.     complete rmf \
  356.         'c/-/(nointeractive interactive help)/' \
  357.         'c,+,$folders,'  
  358.  
  359.     complete rmm \
  360.         'c/-/(help)/' \
  361.         'c,+,$folders,'  \
  362.         'n,*,`(mark | sed "s/:.*//";echo next cur prev first last)|tr " " "\12" | sort -u`,'
  363.  
  364.     complete scan \
  365.         'c/-/(noclear clear form format noheader header width noreverse reverse file help)/' \
  366.         'c,+,$folders,'  \
  367.         'n,-form,f,'\
  368.         'n,-file,f,'\
  369.         'n,*,`(mark | sed "s/:.*//";echo next cur prev first last)|tr " " "\12" | sort -u`,'
  370.  
  371.     complete send \
  372.         'c/-/(alias draft draftfolder draftmessage nodraftfolder filter nofilter noformat format noforward forward nomsgid msgid nopush push noverbose verbose nowatch watch width help)/' \
  373.         'n,-alias,f,'\
  374.         'n,-filter,f,'
  375.  
  376.     complete show \
  377.         'c/-/(draft form moreproc nomoreproc length width showproc noshowproc header noheader help)/' \
  378.         'c,+,$folders,'  \
  379.         'n,-moreproc,c,'  \
  380.         'n,-showproc,c,'  \
  381.         'n,-form,f,'\
  382.         'n,*,`(mark | sed "s/:.*//";echo next cur prev first last)|tr " " "\12" | sort -u`,'
  383.  
  384.     complete sortm \
  385.         'c/-/(datefield textfield notextfield limit nolimit noverbose verbose help)/' \
  386.         'c,+,$folders,'  \
  387.         'n,*,`(mark | sed "s/:.*//";echo next cur prev first last)|tr " " "\12" | sort -u`,'
  388.  
  389.     complete vmh \
  390.         'c/-/(prompt vmhproc novmhproc help)/' \
  391.         'n,-vmhproc,c,'  
  392.  
  393.     complete whatnow \
  394.         'c/-/(draftfolder draftmessage nodraftfolder editor noedit prompt help)/' 
  395.  
  396.     complete whom \
  397.         'c/-/(alias nocheck check draft draftfolder draftmessage nodraftfolder help)/' \
  398.         'n,-alias,f,'
  399.  
  400.     complete plum \
  401.         'c/-/()/' \
  402.         'c,+,$folders,'  \
  403.         'n,*,`(mark | sed "s/:.*//";echo next cur prev first last)|tr " " "\12" | sort -u`,'
  404.  
  405.     complete mail \
  406.         'c/-/()/' \
  407.         'n/*/$mha/'
  408.  
  409.     endif
  410.  
  411.     #from Dan Nicolaescu <dann@ics.uci.edu>
  412.     if ( $?MODULESHOME ) then
  413.     alias Compl_module 'find ${MODULEPATH:as/:/ /} -name .version -o -name .modulea\* -prune -o -print  | sed `echo "-e s@${MODULEPATH:as%:%/\*@@g -e s@%}/\*@@g"`'
  414.     complete module 'p%1%(add load unload switch display avail use unuse update purge list clear help initadd initrm initswitch initlist initclear)%' \
  415.     'n%{unl*,sw*,inits*}%`echo "$LOADEDMODULES:as/:/ /"`%' \
  416.     'n%{lo*,di*,he*,inita*,initr*}%`eval Compl_module`%' \
  417.     'N%{sw*,initsw*}%`eval Compl_module`%' 'C%-%(-append)%' 'n%{use,unu*,av*}%d%' 'n%-append%d%' \
  418.     'C%[^-]*%`eval Compl_module`%'
  419.     endif
  420.  
  421.     # from George Cox
  422.     complete acroread    'p/*/f:*.{pdf,PDF}/'
  423.     complete apachectl  'c/*/(start stop restart fullstatus status graceful \
  424.             configtest help)/'
  425.     complete appletviewer    'p/*/f:*.class/'
  426.     complete bison    'c/--/(debug defines file-prefix= fixed-output-files \
  427.             help name-prefix= no-lines no-parser output= \
  428.             token-table verbose version yacc)/' \
  429.             'c/-/(b d h k l n o p t v y V)/' 'n/-b/f/' 'n/-o/f/' \
  430.             'n/-p/f/'
  431.     complete bunzip2    'p/*/f:*.bz2/' 
  432.     complete bzip2    'n/-9/f:^*.bz2/' 'n/-d/f:*.bz2/'
  433.     complete c++    'p/*/f:*.{c++,cxx,c,cc,C,cpp}/'
  434.     complete co        'p@1@`\ls -1a RCS | sed -e "s/\(.*\),v/\1/"`@'
  435.     complete crontab    'n/-u/u/'
  436.     complete camcontrol    'p/1/(cmd debug defects devlist eject inquiry \
  437.             modepage negotiate periphlist rescan reset start \
  438.             stop tags tur)/'
  439.     complete ctlinnd    'p/1/(addhist allow begin cancel changegroup \
  440.             checkfile drop feedinfo flush flushlogs go hangup \
  441.             logmode mode name newgroup param pause readers refile \
  442.             reject reload renumber reserve rmgroup send shutdown \
  443.             kill throttle trace xabort xexec)/'
  444.     complete cvs    'c/--/(help help-commands help-synonyms)/' \
  445.             'p/1/(add admin annotate checkout commit diff \
  446.             edit editors export history import init log login \
  447.             logout rdiff release remove rtag status tag unedit \
  448.             update watch watchers)/' 'n/-a/(edit unedit commit \
  449.             all none)/' 'n/watch/(on off add remove)/'
  450.     complete cxx    'p/*/f:*.{c++,cxx,c,cc,C,cpp}/'
  451.     complete detex    'p/*/f:*.tex/'
  452.     complete edquota    'n/*/u/'
  453.     complete exec    'p/1/c/'
  454.     complete ghostview    'p/*/f:*.{ps,pdf}/'
  455.     complete gv        'p/*/f:*.{ps,pdf}/'
  456.     complete ifconfig    'p@1@`ifconfig -l`@' 'n/*/(range phase link netmask \
  457.             mtu vlandev vlan metric mediaopt down delete \
  458.             broadcast arp debug)/'
  459.     complete imake    'c/-I/d/'
  460.     complete ipfw     'p/1/(flush add delete list show zero)/' \
  461.             'n/add/(allow permit accept pass deny drop reject \
  462.             reset count skipto num divert port tee port)/'
  463.     complete javac    'p/*/f:*.java/'
  464.     complete ldif2ldbm    'n/-i/f:*.ldif/'
  465.     complete libtool    'c/--mode=/(compile execute finish install link \
  466.             uninstall)/' 'c/--/(config debug dry-run features \
  467.             finish help quiet silent version mode=)/'
  468.     complete libtoolize    'c/--/(automake copy debug dry-run force help ltdl \
  469.             ltdl-tar version)/'
  470.     complete links    'c/-/(assume-codepage async-dns download-dir \
  471.             format-cache-size ftp-proxy help http-proxy \
  472.             max-connections max-connections-to-host \
  473.             memory-cache-size receive-timeout retries \
  474.             unrestartable-receive-timeout version)/'
  475.     complete natd    c/-/'(alias_address config deny_incoming dynamic \
  476.             inport interface log log_denied log_facility \
  477.             outport outport port pptpalias proxy_only \
  478.             proxy_rule redirect_address redirect_port \
  479.             reverse same_ports unregistered_only use_sockets \
  480.             verbose)'/ 'n@-interface@`ifconfig -l`@'
  481.     complete netstat    'n@-I@`ifconfig -l`@'
  482.     complete objdump    'c/--/(adjust-vma= all-headers architecture= \
  483.             archive-headers debugging demangle disassemble \
  484.             disassemble-all disassemble-zeroes dynamic-reloc \
  485.             dynamic-syms endian= file-headers full-contents \
  486.             headers help info line-numbers no-show-raw-insn \
  487.             prefix-addresses private-headers reloc section-headers \
  488.             section=source stabs start-address= stop-address= \
  489.             syms target= version wide)/' \
  490.             'c/-/(a h i f C d D p r R t T x s S l w)/'
  491.     complete xmodmap    'c/-/(display help grammar verbose quiet n e pm pk \
  492.             pke pp)/'
  493.     complete lynx    'c/-/(accept_all_cookies anonymous assume_charset= \
  494.             assume_local_charset= assume_unrec_charset= auth= base \
  495.             book buried_news cache= case cfg= child cookie_file= \
  496.             cookies core crawl debug_partial display= dump editor= \
  497.             emacskeys enable_scrollback error_file= force_html \
  498.             force_secure forms_options from ftp get_data head help \
  499.             hiddenlinks= historical homepage= image_links index= \
  500.             ismap link= localhost mime_header minimal \
  501.             newschunksize= newsmaxchunk= nobrowse nocc nocolor \
  502.             nofilereferer nolist nolog nopause noprint noredir \
  503.             noreferer nostatus number_links partial partial_thres \
  504.             pauth= popup post_data preparsed print pseudo_inlines \
  505.             raw realm reload restrictions= resubmit_posts rlogin \
  506.             selective show_cursor soft_dquotes source stack_dump \
  507.             startfile_ok tagsoup telnet term= tlog trace traversal \
  508.             underscore useragent= validate verbose version vikeys \
  509.             width=)/' 'c/(http|ftp)/$URLS/' 'p/*/f:*.{html,htm,shtml}/'
  510.     complete gmake    'c/{--directory=,--include-dir=}/d/' \
  511.             'c/{--assume-new,--assume-old,--makefile,--new-file,--what-if,--file}/f/' \
  512.             'c/--/(assume-new= assume-old= debug directory= \
  513.             dry-run environment-overrides file= help \
  514.             ignore-errors include-dir= jobs[=N] just-print \
  515.             keep-going load-average[=N] makefile= max-load[=N] \
  516.             new-file= no-builtin-rules no-keep-going \
  517.             no-print-directory old-file= print-data-base \
  518.             print-directory question quiet recon silent stop \
  519.             touch version warn-undefined-variables what-if=)/' \
  520.             'n@*@`cat -s GNUMakefile Makefile makefile |& sed -n -e "/No such file/d" -e "/^[^ \t# ]\+.*:/s/:.*//p"`@' \
  521.             'n/=/f/' 'n/-f/f/'
  522.     complete mixer    p/1/'(vol bass treble synth pcm speaker mic cd mix \
  523.             pcm2 rec igain ogain line1 line2 line3)'/ \
  524.             p@2@'`mixer $:-1 | awk \{\ print\ \$7\ \}`'@
  525.  
  526.     complete mpg123    'c/--/(2to1 4to1 8bit aggressive au audiodevice \
  527.                 auth buffer cdr check doublespeed equalizer frames \
  528.             gain halfspeed headphones left lineout list mix mono \
  529.             proxy quiet random rate reopen resync right scale \
  530.             shuffle single0 single1 skip speaker stdout stereo \
  531.             test verbose wav)/' 'p/*/f:*.{mp2,mp3}/'
  532.     complete mysqladmin    'n/*/(create drop extended-status flush-hosts \
  533.             flush-logs flush-status flush-tables flush-privileges \
  534.             kill password ping processlist reload refresh \
  535.             shutdown status variables version)/'
  536.     complete mutt    c@-f=@F:${HOME}/Mail/@ \
  537.             n/-a/f/ \
  538.             n/-F/f/ n/-H/f/ \
  539.             n/-s/x:'<subject line>'/ \
  540.             n/-e/x:'<command>'/ \
  541.             n@-b@'`cat ${HOME}/.muttrc-alias | awk '"'"'{print $2 }'"'"\`@ \
  542.             n@-c@'`cat ${HOME}/.muttrc-alias | awk '"'"'{print $2 }'"'"\`@ \
  543.             n@*@'`cat ${HOME}/.muttrc-alias | awk '"'"'{print $2 }'"'"\`@
  544.     complete ndc    'n/*/(status dumpdb reload stats trace notrace \
  545.             querylog start stop restart )/'
  546.     complete nm        'c/--/(debug-syms defined-only demangle dynamic \
  547.             extern-only format= help line-numbers no-demangle \
  548.             no-sort numeric-sort portability print-armap \
  549.             print-file-name reverse-sort size-sort undefined-only \
  550.             version)/' 'p/*/f:^*.{h,C,c,cc}/'
  551.     complete nmap    'n@-e@`ifconfig -l`@' 'p/*/$hostnames/'
  552.     complete perldoc     'n@*@`\ls -1 /usr/libdata/perl/5.*/pod | sed s%\\.pod.\*\$%%`@'
  553.     complete postfix    'n/*/(start stop reload abort flush check)/'
  554.     complete postmap    'n/1/(hash: regexp:)/' 'c/hash:/f/' 'c/regexp:/f/'
  555.     complete rcsdiff    'p@1@`\ls -1a RCS | sed -e "s/\(.*\),v/\1/"`@'
  556.     complete X        'c/-/(I a ac allowMouseOpenFail allowNonLocalModInDev \
  557.             allowNonLocalXvidtune ar1 ar2 audit auth bestRefresh \
  558.             bgamma bpp broadcast bs c cc class co core deferglyphs \
  559.             disableModInDev disableVidMode displayID dpi dpms f fc \
  560.             flipPixels fn fp gamma ggamma help indirect kb keeptty \
  561.             ld lf logo ls nolisten string noloadxkb nolock nopn \
  562.             once p pn port probeonly query quiet r rgamma s \
  563.             showconfig sp su t terminate to tst v verbose version \
  564.             weight wm x xkbdb xkbmap)/'
  565.     complete users      'c/--/(help version)/' 'p/1/x:"<accounting_file>"/'
  566.     complete vidcontrol    'p/1/(132x25 132x30 132x43 132x50 132x60 40x25 80x25 \
  567.             80x30 80x43 80x50 80x60 EGA_80x25 EGA_80x43 \
  568.             VESA_132x25 VESA_132x30 VESA_132x43 VESA_132x50 \
  569.             VESA_132x60 VESA_800x600 VGA_320x200 VGA_40x25 \
  570.             VGA_80x25 VGA_80x30 VGA_80x50 VGA_80x60)/'
  571.     complete vim    'n/*/f:^*.[oa]/'
  572.     complete where    'n/*/c/'
  573.     complete which    'n/*/c/'
  574.     complete wmsetbg    'c/-/(display D S a b c d e m p s t u w)/' \
  575.             'c/--/(back-color center colors dither help match \
  576.             maxscale parse scale smooth tile update-domain \
  577.             update-wmaker version workspace)/'
  578.     complete xdb    'p/1/c/'
  579.     complete xdvi    'c/-/(allowshell debug display expert gamma hushchars \
  580.             hushchecksums hushspecials install interpreter keep \
  581.             margins nogrey noinstall nomakepk noscan paper safer \
  582.             shrinkbuttonn thorough topmargin underlink version)/' \
  583.             'n/-paper/(a4 a4r a5 a5r)/' 'p/*/f:*.dvi/'
  584.     complete xlock    'c/-/(allowaccess allowroot debug description \
  585.             echokeys enablesaver grabmouse grabserver hide inroot \
  586.             install inwindow mono mousemotion nolock remote \
  587.             resetsaver sound timeelapsed use3d usefirst verbose \
  588.             wireframe background batchcount bg bitmap both3d \
  589.             count cycles delay delta3d display dpmsoff \
  590.             dpmsstandby dpmssuspend endCmd erasedelay erasemode \
  591.             erasetime fg font foreground geometry help \
  592.             icongeometry info invalid left3d lockdelay logoutCmd \
  593.             mailCmd mailIcon message messagefile messagefont \
  594.             messagesfile mode name ncolors nice nomailIcon none3d \
  595.             parent password planfont program resources right3d \
  596.             saturation size startCmd timeout username validate \
  597.             version visual)/' 'n/-mode/(ant atlantis ball bat \
  598.             blot bouboule bounce braid bubble bubble3d bug cage \
  599.             cartoon clock coral crystal daisy dclock decay deco \
  600.             demon dilemma discrete drift eyes fadeplot flag flame \
  601.             flow forest galaxy gears goop grav helix hop hyper \
  602.             ico ifs image invert julia kaleid kumppa lament laser \
  603.             life life1d life3d lightning lisa lissie loop lyapunov \
  604.             mandelbrot marquee matrix maze moebius morph3d \
  605.             mountain munch nose pacman penrose petal pipes puzzle \
  606.             pyro qix roll rotor rubik shape sierpinski slip sphere \
  607.             spiral spline sproingies stairs star starfish strange \
  608.             superquadrics swarm swirl tetris thornbird triangle \
  609.             tube turtle vines voters wator wire world worm xjack \
  610.             blank bomb random)/' 
  611.     complete xfig    'c/-/(display)/' 'p/*/f:*.fig/'
  612.     complete wget     c/--/"(accept= append-output= background cache= \
  613.             continue convert-links cut-dirs= debug \
  614.             delete-after directory-prefix= domains= \
  615.             dont-remove-listing dot-style= exclude-directories= \
  616.             exclude-domains= execute= follow-ftp \
  617.             force-directories force-html glob= header= help \
  618.             http-passwd= http-user= ignore-length \
  619.             include-directories= input-file= level= mirror \
  620.             no-clobber no-directories no-host-directories \
  621.             no-host-lookup no-parent non-verbose \
  622.             output-document= output-file= passive-ftp \
  623.             proxy-passwd= proxy-user= proxy= quiet quota= \
  624.             recursive reject= relative retr-symlinks save-headers \
  625.             server-response span-hosts spider timeout= \
  626.             timestamping tries= user-agent= verbose version wait=)"/
  627.  
  628.     # these from Tom Warzeka <tom@waz.cc>
  629.  
  630.     ## ALAIN: These need to be removed from here!
  631.     # you may need to set the following variables for your host
  632.     set _elispdir = /usr/local/share/emacs/20.7/lisp # GNU Emacs lisp directory
  633.     set _maildir = /var/spool/mail  # Post Office: /var/spool/mail or /usr/mail
  634.     set _ypdir  = /var/yp    # directory where NIS (YP) maps are kept
  635.  
  636.     # this one works but is slow and doesn't descend into subdirectories
  637.     # complete    cd    C@[./\$~]*@d@ \
  638.     #            p@1@'`\ls -1F . $cdpath | grep /\$ | sort -u`'@ n@*@n@
  639.  
  640.     if ( -r /etc/shells ) then
  641.         complete setenv    p@1@e@ n@DISPLAY@\$hosts@: n@SHELL@'`cat /etc/shells`'@
  642.     else
  643.     complete setenv    p@1@e@ n@DISPLAY@\$hosts@:
  644.     endif
  645.     complete unsetenv    n/*/e/
  646.  
  647.     if (-r $HOME/.mailrc) then
  648.         complete mail    c/-/"(e i f n s u v)"/ c/*@/\$hosts/ \
  649.             c@+@F:$HOME/Mail@ C@[./\$~]@f@ n/-s/x:'<subject>'/ \
  650.             n@-u@T:$_maildir@ n/-f/f/ \
  651.             n@*@'`sed -n s/alias//p $HOME/.mailrc | tr -s " " "    " | cut -f 2`'@
  652.     else
  653.         complete mail    c/-/"(e i f n s u v)"/ c/*@/\$hosts/ \
  654.             c@+@F:$HOME/Mail@ C@[./\$~]@f@ n/-s/x:'<subject>'/ \
  655.             n@-u@T:$_maildir@ n/-f/f/ n/*/u/
  656.     endif
  657.  
  658.     if (! $?MANPATH) then
  659.     if (-r /usr/share/man) then
  660.         setenv MANPATH /usr/share/man:/usr/local/share/man
  661.     else
  662.         setenv MANPATH /usr/man:/usr/local/man
  663.     endif
  664.     endif
  665.  
  666.     # use of $MANPATH from Dan Nicolaescu <dann@ics.uci.edu>
  667.     # use of 'find' adapted from Lubomir Host <host8@kepler.fmph.uniba.sk>
  668.     complete man \
  669.         'n@1@`set q = "$MANPATH:as%:%/man1 %" ; \ls -1 $q |& sed -e s%^.\*:.\*\$%% -e s%\\.1.\*\$%%`@'\
  670.         'n@2@`set q = "$MANPATH:as%:%/man2 %" ; \ls -1 $q |& sed -e s%^.\*:.\*\$%% -e s%\\.2.\*\$%%`@'\
  671.         'n@3@`set q = "$MANPATH:as%:%/man3 %" ; \ls -1 $q |& sed -e s%^.\*:.\*\$%% -e s%\\.3.\*\$%%`@'\
  672.         'n@4@`set q = "$MANPATH:as%:%/man4 %" ; \ls -1 $q |& sed -e s%^.\*:.\*\$%% -e s%\\.4.\*\$%%`@'\
  673.         'n@5@`set q = "$MANPATH:as%:%/man5 %" ; \ls -1 $q |& sed -e s%^.\*:.\*\$%% -e s%\\.5.\*\$%%`@'\
  674.         'n@6@`set q = "$MANPATH:as%:%/man6 %" ; \ls -1 $q |& sed -e s%^.\*:.\*\$%% -e s%\\.6.\*\$%%`@'\
  675.         'n@7@`set q = "$MANPATH:as%:%/man7 %" ; \ls -1 $q |& sed -e s%^.\*:.\*\$%% -e s%\\.7.\*\$%%`@'\
  676.         'n@8@`set q = "$MANPATH:as%:%/man8 %" ; \ls -1 $q |& sed -e s%^.\*:.\*\$%% -e s%\\.8.\*\$%%`@'\
  677.         'n@9@`set q = "$MANPATH:as%:%/man9 %" ; \ls -1 $q |& sed -e s%^.\*:.\*\$%% -e s%\\.9.\*\$%%`@'\
  678.         'n@0@`set q = "$MANPATH:as%:%/man0 %" ; \ls -1 $q |& sed -e s%^.\*:.\*\$%% -e s%\\.0.\*\$%%`@'\
  679.         'n@n@`set q = "$MANPATH:as%:%/mann %" ; \ls -1 $q |& sed -e s%^.\*:.\*\$%% -e s%\\.n.\*\$%%`@'\
  680.         'n@o@`set q = "$MANPATH:as%:%/mano %" ; \ls -1 $q |& sed -e s%^.\*:.\*\$%% -e s%\\.o.\*\$%%`@'\
  681.         'n@l@`set q = "$MANPATH:as%:%/manl %" ; \ls -1 $q |& sed -e s%^.\*:.\*\$%% -e s%\\.l.\*\$%%`@'\
  682.         'n@p@`set q = "$MANPATH:as%:%/manp %" ; \ls -1 $q |& sed -e s%^.\*:.\*\$%% -e s%\\.p.\*\$%%`@'\
  683.         c@-@"(- f k M P s S t)"@ n@-f@c@ n@-k@x:'<keyword>'@ n@-[MP]@d@   \
  684.         'N@-[MP]@`\ls -1 $:-1/man? |& sed -n s%\\..\\+\$%%p`@'            \
  685.         'n@-[sS]@`\ls -1 $MANPATH:as%:% % |& sed -n s%^man%%p | sort -u`@'\
  686.         'n@*@`find $MANPATH:as%:% % \( -type f -o -type l \) -printf "%f\n" |& sed -e "s%\.\([1-9][a-z]\?\|[1-9]pm\)\.gz%%g" | sort | uniq`@'
  687.         #n@*@c@ # old way -- commands only
  688.  
  689.     complete ps            c/-t/x:'<tty>'/ c/-/"(a c C e g k l S t u v w x)"/ \
  690.             n/-k/x:'<kernel>'/ N/-k/x:'<core_file>'/ n/*/x:'<PID>'/
  691.     complete compress    c/-/"(c f v b)"/ n/-b/x:'<max_bits>'/ n/*/f:^*.Z/
  692.     complete uncompress    c/-/"(c f v)"/                        n/*/f:*.Z/
  693.  
  694.     complete uuencode    p/1/f/ p/2/x:'<decode_pathname>'/ n/*/n/
  695.     complete uudecode    c/-/"(f)"/ n/-f/f:*.{uu,UU}/ p/1/f:*.{uu,UU}/ n/*/n/
  696.  
  697.     complete xhost    c/[+-]/\$hosts/ n/*/\$hosts/
  698.     complete xpdf    c/-/"(z g remote raise quit cmap rgb papercolor       \
  699.                   eucjp t1lib freetype ps paperw paperh level1    \
  700.                   upw fullscreen cmd q v h help)"/                \
  701.             n/-z/x:'<zoom (-5 .. +5) or "page" or "width">'/      \
  702.             n/-g/x:'<geometry>'/ n/-remote/x:'<name>'/            \
  703.             n/-rgb/x:'<number>'/ n/-papercolor/x:'<color>'/       \
  704.             n/-{t1lib,freetype}/x:'<font_type>'/                  \
  705.             n/-ps/x:'<PS_file>'/ n/-paperw/x:'<width>'/           \
  706.             n/-paperh/x:'<height>'/ n/-upw/x:'<password>'/        \
  707.             n/-/f:*.{pdf,PDF}/                                    \
  708.             N/-{z,g,remote,rgb,papercolor,t1lib,freetype,ps,paperw,paperh,upw}/f:*.{pdf,PDF}/ \
  709.             N/-/x:'<page>'/ p/1/f:*.{pdf,PDF}/ p/2/x:'<page>'/
  710.  
  711.     # these conform to the latest GNU versions available at press time ...
  712.     # updates by John Gotts <jgotts@engin.umich.edu>
  713.  
  714.     if (-X emacs) then
  715.       # TW note:  if your version of GNU Emacs supports the "--version" option,
  716.       #           uncomment this line and comment the next to automatically
  717.       #           detect the version, else replace "21.2" with your version.
  718.       #set _emacs_ver=`emacs --version | sed -e 's%GNU Emacs %%' -e q | cut -d . -f1-2`
  719.       set _emacs_ver=21.2
  720.       set _emacs_dir=`which emacs | sed s%/bin/emacs%%` 
  721.       complete emacs    c/--/"(batch terminal display no-windows no-init-file \
  722.                                user debug-init unibyte multibyte version help \
  723.                                no-site-file funcall load eval insert kill)"/ \
  724.                         c/-/"(t d nw q u f l -)"/ c/+/x:'<line_number>'/ \
  725.             n/{-t,--terminal}/x:'<terminal>'/ n/{-d,--display}/x:'<display>'/ \
  726.                     n/{-u,--user}/u/ n/{-f,--funcall}/x:'<lisp_function>'/ \
  727.             n@{-l,--load}@F:$_emacs_dir/share/emacs/$_emacs_ver/lisp@ \
  728.             n/--eval/x:'<expression>'/ n/--insert/f/ n/*/f:^*[\#~]/
  729.       unset _emacs_ver _emacs_dir
  730.     endif
  731.  
  732.     # if your "zcat" is the GNU version, change "gzcat" below to just "zcat"
  733.     complete zcat    c/--/"(force help license quiet version)"/ \
  734.             c/-/"(f h L q V -)"/ n/*/f:*.{gz,Z,z,zip}/
  735.     complete gzip    c/--/"(stdout to-stdout decompress uncompress \
  736.             force help list license no-name quiet recurse \
  737.             suffix test verbose version fast best)"/ \
  738.             c/-/"(c d f h l L n q r S t v V 1 2 3 4 5 6 7 8 9 -)"/\
  739.             n/{-S,--suffix}/x:'<file_name_suffix>'/ \
  740.             n/{-d,--{de,un}compress}/f:*.{gz,Z,z,zip,taz,tgz}/ \
  741.             N/{-d,--{de,un}compress}/f:*.{gz,Z,z,zip,taz,tgz}/ \
  742.             n/*/f:^*.{gz,Z,z,zip,taz,tgz}/
  743.     complete {gunzip,ungzip} c/--/"(stdout to-stdout force help list license \
  744.             no-name quiet recurse suffix test verbose version)"/ \
  745.             c/-/"(c f h l L n q r S t v V -)"/ \
  746.             n/{-S,--suffix}/x:'<file_name_suffix>'/ \
  747.             n/*/f:*.{gz,Z,z,zip,taz,tgz}/
  748.     complete zgrep    c/-*A/x:'<#_lines_after>'/ c/-*B/x:'<#_lines_before>'/\
  749.             c/-/"(A b B c C e f h i l n s v V w x)"/ \
  750.             p/1/x:'<limited_regular_expression>'/ N/-*e/f/ \
  751.             n/-*e/x:'<limited_regular_expression>'/ n/-*f/f/ n/*/f/
  752.     complete zegrep    c/-*A/x:'<#_lines_after>'/ c/-*B/x:'<#_lines_before>'/\
  753.             c/-/"(A b B c C e f h i l n s v V w x)"/ \
  754.             p/1/x:'<full_regular_expression>'/ N/-*e/f/ \
  755.             n/-*e/x:'<full_regular_expression>'/ n/-*f/f/ n/*/f/
  756.     complete zfgrep    c/-*A/x:'<#_lines_after>'/ c/-*B/x:'<#_lines_before>'/\
  757.             c/-/"(A b B c C e f h i l n s v V w x)"/ \
  758.             p/1/x:'<fixed_string>'/ N/-*e/f/ \
  759.             n/-*e/x:'<fixed_string>'/ n/-*f/f/ n/*/f/
  760.     complete znew    c/-/"(f t v 9 P K)"/ n/*/f:*.Z/
  761.     complete zmore    n/*/f:*.{gz,Z,z,zip}/
  762.     complete zfile    n/*/f:*.{gz,Z,z,zip,taz,tgz}/
  763.     complete ztouch    n/*/f:*.{gz,Z,z,zip,taz,tgz}/
  764.     complete zforce    n/*/f:^*.{gz,tgz}/
  765.  
  766.     complete grep    c/-*A/x:'<#_lines_after>'/ c/-*B/x:'<#_lines_before>'/\
  767.             c/--/"(extended-regexp fixed-regexp basic-regexp \
  768.             regexp file ignore-case word-regexp line-regexp \
  769.             no-messages revert-match version help byte-offset \
  770.             line-number with-filename no-filename quiet silent \
  771.             text directories recursive files-without-match \
  772.             files-with-matches count before-context after-context \
  773.             context binary unix-byte-offsets)"/ \
  774.             c/-/"(A a B b C c d E e F f G H h i L l n q r s U u V \
  775.                 v w x)"/ \
  776.             p/1/x:'<limited_regular_expression>'/ N/-*e/f/ \
  777.             n/-*e/x:'<limited_regular_expression>'/ n/-*f/f/ n/*/f/
  778.     complete egrep    c/-*A/x:'<#_lines_after>'/ c/-*B/x:'<#_lines_before>'/\
  779.             c/--/"(extended-regexp fixed-regexp basic-regexp \
  780.             regexp file ignore-case word-regexp line-regexp \
  781.             no-messages revert-match version help byte-offset \
  782.             line-number with-filename no-filename quiet silent \
  783.             text directories recursive files-without-match \
  784.             files-with-matches count before-context after-context \
  785.             context binary unix-byte-offsets)"/ \
  786.             c/-/"(A a B b C c d E e F f G H h i L l n q r s U u V \
  787.                 v w x)"/ \
  788.             p/1/x:'<full_regular_expression>'/ N/-*e/f/ \
  789.             n/-*e/x:'<full_regular_expression>'/ n/-*f/f/ n/*/f/
  790.     complete fgrep    c/-*A/x:'<#_lines_after>'/ c/-*B/x:'<#_lines_before>'/\
  791.             c/--/"(extended-regexp fixed-regexp basic-regexp \
  792.             regexp file ignore-case word-regexp line-regexp \
  793.             no-messages revert-match version help byte-offset \
  794.             line-number with-filename no-filename quiet silent \
  795.             text directories recursive files-without-match \
  796.             files-with-matches count before-context after-context \
  797.             context binary unix-byte-offsets)"/ \
  798.             c/-/"(A a B b C c d E e F f G H h i L l n q r s U u V \
  799.                 v w x)"/ \
  800.             p/1/x:'<fixed_string>'/ N/-*e/f/ \
  801.             n/-*e/x:'<fixed_string>'/ n/-*f/f/ n/*/f/
  802.  
  803.     complete sed    c/--/"(quiet silent version help expression file)"/   \
  804.             c/-/"(n V e f -)"/ n/{-e,--expression}/x:'<script>'/  \
  805.             n/{-f,--file}/f:*.sed/ N/-{e,f,-{file,expression}}/f/ \
  806.             n/-/x:'<script>'/ N/-/f/ p/1/x:'<script>'/ p/2/f/
  807.  
  808.     complete users    c/--/"(help version)"/ p/1/x:'<accounting_file>'/
  809.     complete who    c/--/"(heading idle count mesg message writable help \
  810.                 version)"/ c/-/"(H i m q s T w u -)"/ \
  811.             p/1/x:'<accounting_file>'/ n/am/"(i)"/ n/are/"(you)"/
  812.  
  813.     complete chown    c/--/"(changes dereference no-dereference silent \
  814.                 quiet reference recursive verbose help version)"/ \
  815.             c/-/"(c f h R v -)"/ C@[./\$~]@f@ c/*[.:]/g/ \
  816.             n/-/u/: p/1/u/: n/*/f/
  817.     complete chgrp    c/--/"(changes no-dereference silent quiet reference \
  818.                 recursive verbose help version)"/ \
  819.             c/-/"(c f h R v -)"/ n/-/g/ p/1/g/ n/*/f/
  820.     complete chmod    c/--/"(changes silent quiet verbose reference \
  821.                 recursive help version)"/ c/-/"(c f R v)"/
  822.     complete df        c/--/"(all block-size human-readable si inodes \
  823.             kilobytes local megabytes no-sync portability sync \
  824.             type print-type exclude-type help version)"/ \
  825.             c/-/"(a H h i k l m P T t v x)"/
  826.     complete du        c/--/"(all block-size bytes total dereference-args \
  827.                 human-readable si kilobytes count-links dereference \
  828.             megabytes separate-dirs summarize one-file-system \
  829.             exclude-from exclude max-depth help version"/ \
  830.             c/-/"(a b c D H h k L l m S s X x)"/
  831.  
  832.     complete cat    c/--/"(number-nonblank number squeeze-blank show-all \
  833.             show-nonprinting show-ends show-tabs help version)"/ \
  834.             c/-/"(A b E e n s T t u v -)"/ n/*/f/
  835.     complete mv        c/--/"(backup force interactive update verbose suffix \
  836.             version-control help version)"/ \
  837.             c/-/"(b f i S u V v -)"/ \
  838.             n/{-S,--suffix}/x:'<suffix>'/ \
  839.             n/{-V,--version-control}/"(t numbered nil existing \
  840.             never simple)"/ n/-/f/ N/-/d/ p/1/f/ p/2/d/ n/*/f/
  841.     complete cp        c/--/"(archive backup no-dereference force \
  842.                 interactive link preserve parents sparse recursive \
  843.             symbolic-link suffix update verbose version-control \
  844.             one-file-system help version)"/ \
  845.             c/-/"(a b d f i l P p R r S s u V v x -)"/ \
  846.             n/-*r/d/ n/{-S,--suffix}/x:'<suffix>'/ \
  847.             n/{-V,--version-control}/"(t numbered nil existing \
  848.             never simple)"/ n/-/f/ N/-/d/ p/1/f/ p/2/d/ n/*/f/
  849.     complete ln        c/--/"(backup directory force no-dereference \
  850.                 interactive symbolic suffix verbose version-control \
  851.             help version)"/ \
  852.             c/-/"(b d F f i n S s V v -)"/ \
  853.             n/{-S,--suffix}/x:'<suffix>'/ \
  854.             n/{-V,--version-control}/"(t numbered nil existing \
  855.             never simple)"/ n/-/f/ N/-/x:'<link_name>'/ \
  856.             p/1/f/ p/2/x:'<link_name>'/
  857.     complete touch    c/--/"(date reference time help version)"/ \
  858.             c/-/"(a c d f m r t -)"/ \
  859.             n/{-d,--date}/x:'<date_string>'/ \
  860.             c/--time/"(access atime mtime modify use)"/ \
  861.             n/{-r,--file}/f/ n/-t/x:'<time_stamp>'/ n/*/f/
  862.     complete mkdir    c/--/"(mode parents verbose help version)"/ \
  863.                 c/-/"(p m -)"/ \
  864.             n/{-m,--mode}/x:'<mode>'/ n/*/d/
  865.     complete rmdir    c/--/"(ignore-fail-on-non-empty parents verbose help \
  866.                 version)"/ c/-/"(p -)"/ n/*/d/
  867.  
  868.     complete tar    c/-[Acru]*/"(b B C f F g G h i l L M N o P \
  869.             R S T v V w W X z Z)"/ \
  870.             c/-[dtx]*/"( B C f F g G i k K m M O p P \
  871.             R s S T v w x X z Z)"/ \
  872.             p/1/"(A c d r t u x -A -c -d -r -t -u -x \
  873.             --catenate --concatenate --create --diff --compare \
  874.             --delete --append --list --update --extract --get \
  875.             --help --version)"/ \
  876.             c/--/"(catenate concatenate create diff compare \
  877.             delete append list update extract get atime-preserve \
  878.             block-size read-full-blocks directory checkpoint file \
  879.             force-local info-script new-volume-script incremental \
  880.             listed-incremental dereference ignore-zeros \
  881.             ignore-failed-read keep-old-files starting-file \
  882.             one-file-system tape-length modification-time \
  883.             multi-volume after-date newer old-archive portability \
  884.             to-stdout same-permissions preserve-permissions \
  885.             absolute-paths preserve record-number remove-files \
  886.             same-order preserve-order same-owner sparse \
  887.             files-from null totals verbose label version \
  888.             interactive confirmation verify exclude exclude-from \
  889.             compress uncompress gzip ungzip use-compress-program \
  890.             block-compress help version)"/ \
  891.             c/-/"(b B C f F g G h i k K l L m M N o O p P R s S \
  892.             T v V w W X z Z 0 1 2 3 4 5 6 7 -)"/ \
  893.             C@[/dev]@f@ \
  894.             n/-c*f/x:'<new_tar_file, device_file, or "-">'/ \
  895.             n/{-[Adrtux]*f,--file}/f:*.{tar,taz,tgz}/ \
  896.             N/{-x*f,--file}/'`tar -tf $:-1`'/ \
  897.             n/--use-compress-program/c/ \
  898.             n/{-b,--block-size}/x:'<block_size>'/ \
  899.             n/{-V,--label}/x:'<volume_label>'/ \
  900.             n/{-N,--{after-date,newer}}/x:'<date>'/ \
  901.             n/{-L,--tape-length}/x:'<tape_length_in_kB>'/ \
  902.             n/{-C,--directory}/d/ \
  903.             N/{-C,--directory}/'`\ls $:-1`'/ \
  904.             n/-[0-7]/"(l m h)"/
  905.  
  906.     # SVR4 filesystems
  907.     #complete  mount    c/-/"(a F m o O p r v V)"/ n/-p/n/ n/-v/n/ \
  908.     #            n/-o/x:'<FSType_options>'/ \
  909.     #            n@-F@'`\ls -1 /usr/lib/fs`'@ \
  910.     #            n@*@'`grep -v "^#" /etc/vfstab | tr -s " " "     " | cut -f 3`'@
  911.     #complete umount    c/-/"(a o V)"/ n/-o/x:'<FSType_options>'/ \
  912.     #            n/*/'`mount | cut -d " " -f 1`'/
  913.     #complete  mountall    c/-/"(F l r)"/ n@-F@'`\ls -1 /usr/lib/fs`'@
  914.     #complete umountall    c/-/"(F h k l r s)"/ n@-F@'`\ls -1 /usr/lib/fs`'@ \
  915.     #            n/-h/'`df -k | cut -s -d ":" -f 1 | sort -u`'/
  916.     # BSD 4.3 filesystems
  917.     complete  mount    c/-/"(a r t v)"/ n/-t/"(4.2 nfs)"/ \
  918.                 n@*@'`grep -v "^#" /etc/fstab | tr -s " " "    " | cut -f 2`'@
  919.     complete umount    c/-/"(a h t v)"/ n/-t/"(4.2 nfs)"/ \
  920.                 n/-h/'`df | cut -s -d ":" -f 1 | sort -u`'/ \
  921.                 n/*/'`mount | cut -d " " -f 3`'/
  922.     # BSD 4.2 filesystems
  923.     #complete  mount    c/-/"(a r t v)"/ n/-t/"(ufs nfs)"/ \
  924.     #            n@*@'`cut -d ":" -f 2 /etc/fstab`'@
  925.     #complete umount    c/-/"(a h t v)"/ n/-t/"(ufs nfs)"/ \
  926.     #            n/-h/'`df | cut -s -d ":" -f 1 | sort -u`'/ \
  927.     #            n/*/'`mount | cut -d " " -f 3`'/
  928.  
  929.     # these deal with NIS (formerly YP); if it's not running you don't need 'em
  930.     if (-X domainname) then
  931.       set _domain = "`domainname`"
  932.       if ("$_domain" != "" && "$_domain" != "noname") then
  933.         complete domainname p@1@D:$_ypdir@" " n@*@n@
  934.         complete ypcat        c@-@"(d k t x)"@ n@-x@n@ n@-d@D:$_ypdir@" " \
  935.                         N@-d@\`\\ls\ -1\ $_ypdir/\$:-1\ \|\ sed\ -n\ s%\\\\.pag\\\$%%p\`@ \
  936.                         n@*@\`\\ls\ -1\ $_ypdir/$_domain\ \|\ sed\ -n\ s%\\\\.pag\\\$%%p\`@
  937.         complete ypmatch    c@-@"(d k t x)"@ n@-x@n@ n@-d@D:$_ypdir@" " \
  938.                         N@-d@x:'<key ...>'@ n@-@x:'<key ...>'@ p@1@x:'<key ...>'@ \
  939.                         n@*@\`\\ls\ -1\ $_ypdir/$_domain\ \|\ sed\ -n\ s%\\\\.pag\\\$%%p\`@
  940.         complete ypwhich    c@-@"(d m t x V1 V2)"@ n@-x@n@ n@-d@D:$_ypdir@" " \
  941.                         n@-m@\`\\ls\ -1\ $_ypdir/$_domain\ \|\ sed\ -n\ s%\\\\.pag\\\$%%p\`@ \
  942.                 N@-m@n@ n@*@\$hosts@
  943.       endif
  944.       unset _domain
  945.     endif
  946.  
  947.     # there's no need to clutter the user's shell with these
  948.     unset _elispdir _maildir _ypdir
  949.  
  950.     complete make \
  951.     'n/-f/f/' \
  952.           'c/*=/f/' \
  953.     'n@*@`cat -s GNUmakefile Makefile makefile |& sed -n -e "/No such file/d" -e "/^[^     #].*:/s/:.*//p"`@'
  954.  
  955.     if ( -f /etc/printcap ) then
  956.     set printers=(`sed -n -e "/^[^     #].*:/s/:.*//p" /etc/printcap`)
  957.  
  958.     complete lpr    'c/-P/$printers/'
  959.     complete lpq    'c/-P/$printers/'
  960.     complete lprm   'c/-P/$printers/'
  961.     complete lpquota        'p/1/(-Qprlogger)/' 'c/-P/$printers/'
  962.     complete dvips  'c/-P/$printers/' 'n/-o/f:*.{ps,PS}/' 'n/*/f:*.dvi/'
  963.     complete dvilj    'p/*/f:*.dvi/'
  964.     endif
  965.  
  966. ## BEGIN tcshrc additions
  967.     complete ggv     n/*/f:*.{ps,eps}/
  968.     complete unzip     p/1/f:*.{zip}/
  969. ## END tcshrc completions
  970.  
  971.     unset noglob
  972.  
  973. end:
  974.